package com.battle.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import lombok.Data;
import nirvana.core.domains.ann.AccEntity;
import nirvana.core.domains.entity.DomainBaseEntity;
import nirvana.core.domains.enums.EntityType;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 单人训练-队站训练记录
 * @author anni.zhu
 * @author anni.zhu@king-v.com
 * Created in 2025/3/5 11:23
 */
@Data
@TableName(value = "TRAINING_SOLO",autoResultMap = true)
@Entity(name = "TRAINING_SOLO")
@AccEntity(value = "单人训练", type = EntityType.SERVICE_ENTITY)
public class TrainingSolo extends DomainBaseEntity<TrainingSolo> {
    /**
     * 状态：0-待提交 1-已提交
     */
    @Column()
    private Integer status;

//    /**
//     * 路径
//     */
//    @Column
//    private String path;

    /**
     * 训练日期
     */
    @Column
    private LocalDate trainingDate;

    /**
     * 训练部门id
     */
    @Column()
    private Long departmentId;

    /**
     * 训练日期类型：0-上午 1-下午
     */
    @Column()
    private Integer trainingDateType;

    /**
     * 训练地点
     */
    @Column()
    private String trainingPlace;

    /**
     * 缺训人员 json
     */
    @Column()
    private String absentPerson;

    /**
     * 缺训人员ids
     */
    private String absentPersonUserIds;

    /**
     * 训练项目数量
     */
    @Column()
    private Integer programCount;

    /**
     * 训练项目ids
     */
    @Column()
    private String programIds;

    /**
     * 训练类型集合
     */
    @Column()
    private String type;

    /**
     * 应训人数
     */
    @Column()
    private Integer shouldTrainingCount;

    /**
     * 缺训人数
     */
    @Column()
    private Integer absentTrainingCount;

    /**
     * 实训人数
     */
    @Column()
    private Integer actualTrainingCount;

    /**
     * 不合格率
     */
    @Column()
    private BigDecimal unqualifiedRate;

    /**
     * 达标率
     */
    @Column()
    private BigDecimal qualifiedRate;

    /**
     * 良好率
     */
    @Column()
    private BigDecimal goodRate;

    /**
     * 优秀率
     */
    @Column()
    private BigDecimal excellentRate;

}
